package com.yungu.swift.system.sys.service;

import com.yungu.swift.base.ResponseData;
import com.yungu.swift.base.model.PageVo;
import com.yungu.swift.base.service.BaseService;
import com.yungu.swift.system.sys.model.dto.SysAccountCompanyDto;
import com.yungu.swift.system.finance.model.param.AdminAccountFlowPageParam;
import com.yungu.swift.system.finance.model.param.AdminAccountPageParam;
import com.yungu.swift.system.sys.model.vo.SysCompanyAccountFlowVo;
import com.yungu.swift.system.sys.model.vo.SysCompanyAccountVo;

import java.util.List;

public interface SysAccountCompanyService extends BaseService<SysAccountCompanyDto> {
    /**
     * 企业账户查询
     *
     * @param pageParam
     * @return
     */
    ResponseData<PageVo<SysCompanyAccountVo>> queryPageVo(AdminAccountPageParam pageParam);

    /**
     * 企业账户查询 —— 导出
     *
     * @param pageParam
     * @return
     */
    ResponseData<List<SysCompanyAccountVo>> export(AdminAccountPageParam pageParam);

    /**
     * 账户统计 —— 查询企业数量及账号总额
     *
     * @param pageParam
     * @return
     */
    ResponseData<SysCompanyAccountVo> statistics(AdminAccountPageParam pageParam);

    /**
     * 查询企业账户流水明细
     *
     * @param flowPageParam
     * @return
     */
    ResponseData<PageVo<SysCompanyAccountFlowVo>> flowQueryPage(AdminAccountFlowPageParam flowPageParam);

    /**
     * 查询企业账户流水明细 —— 导出
     *
     * @param flowPageParam
     * @return
     */
    ResponseData<List<SysCompanyAccountFlowVo>> flowExport(AdminAccountFlowPageParam flowPageParam);
}